<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>自定义指令</title>
    <script type="text/javascript" src="../js/vue.js"></script> 
</head>
<body>
    <div id="root">
        <h3>当前的n值是：<span v-text="n"></span></h3>
        <h3>放大10倍后的n值是：<span v-big="n"></span></h3>
        <button @click="n++">点我n+1</button>
        <hr>
        <input type="text" v-fbind:value="n">
    </div>
</body>
<script type="text/javascript">
    Vue.config.productionTip=false;
    //定义全局指令
   /* Vue.directive('fbind',{
        //指令与元素成功绑定时(一上来)
        bind(element,binding){
                    element.value=binding.value
                },
                //指令所在元素被插入页面时
                inserted(element,binding){
                    element.focus()
                },
                //指令所在的模板被重新解析时
                update(element,binding){
                    element.value=binding.value
                    element.focus()
                }
    })*/
   /* Vue.directive('big',function(element,binding){   //此处的this是windows
                element.innerText=binding.value*10
            })*/
    
    new Vue({
        el:'#root',
        data:{
           n:1
        }, 
        //指令里面的this都是windows
        directives:{
            //如果要定义成big-number的话就要加''号：'big-number'
            //big函数被调用：1.指令与元素成功绑定时，2.指令所在的模板被重新解析时
            big(element,binding){   //此处的this是windows
                element.innerText=binding.value*10
            },
            fbind:{
                //指令与元素成功绑定时(一上来)
                bind(element,binding){
                    element.value=binding.value
                },
                //指令所在元素被插入页面时
                inserted(element,binding){
                    element.focus()
                },
                //指令所在的模板被重新解析时
                update(element,binding){
                    element.value=binding.value
                    element.focus()
                }
            }
        }
    })
</script>
</html>